Completed
Push — master ( c68c1b...64b526 )
by Mark
16s queued 12s
created

Setup.ts ➔ setupTable   A

Complexity

Conditions 4

Size

Total Lines 9
Code Lines 8

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 4
eloc 8
dl 0
loc 9
rs 10
c 0
b 0
f 0
1
import Relation from "../Relation";
2
import ForeignKey from "../Field/ForeignKey";
3
import HasManyThrough from "../Relation/HasManyThrough";
4
5
6
export function addRelationFieldsToList(fields) {
7
    const fieldList = [...fields];
8
    fields.forEach((field, i) => {
9
        if (field instanceof Relation) {
10
            fieldList.splice(i, 0, ...field.getRelationalFields());
11
        }
12
    });
13
    return fieldList;
14
}
15
16
export function setFields(model, fields) {
17
    model._originalFields = [...fields];
18
    model.numberOfFields = model.originalFields.length;
19
    for (let i = 0; i < model.numberOfFields; i++) {
20
        model.originalFields[i].setup(model);
21
    }
22
}
23
24
export function setupTable(model, table) {
25
    for (let i = 0; i < model.numberOfFields; i++) {
26
        if (model.originalFields[i] instanceof ForeignKey) {
27
            model.originalFields[i].tableSetup(table);
28
        }
29
30
        if (model.originalFields[i] instanceof HasManyThrough) {
31
            model.originalFields[i].tableSetup(table);
32
        }
33
    }
34
}